package com.young.msg.service;

import com.young.common.util.Page;
import com.young.msg.model.SiteLetter;

import java.util.Date;
import java.util.List;

/**
* 站内信主体服务接口
* Created by wangjiyu on 2021-10-31.
*/
public interface ISiteLetterService {
    /**
     * 根据发送时间查询待收信件(to所有人)
     * @param startTime
     * @param endTime
     * @return
     */
    List<SiteLetter> getReceiveLetterByTime(Date startTime, Date endTime);

    /**
     * 查询用户待收信件(to指定用户)
     * @param userId 收信用户id
     * @param startTime 信件开始时间
     * @param endTime 信件结束时间
     * @return
     */
    List<SiteLetter> getUserReceiveLetter(String userId, Date startTime, Date endTime);

    /**
     * 查询
     * @param obj
     * @return
     */
    List<SiteLetter> getList(SiteLetter obj);

    /**
     * 分页查询
     * @param obj
     * @param page
     * @return
     */
    List<SiteLetter> getPage(SiteLetter obj, Page page);

    /**
     * 查询单条
     * @param id
     * @return
     */
    SiteLetter get(Long id);

    /**
     * 统计数量
     * @param obj
     * @return Integer 满足xx条件的数据有多少条
     */
    int count(SiteLetter obj);

    /**
     * 修改
     * @param obj
     * @return
     */
    int update(SiteLetter obj);

    /**
     * 删除
     * @param id
     * @return
     */
    int delete(Long id);

    /**
     * 批量删除
     * @param idArr
     * @return
     */
    int delete(Long[] idArr);

    /**
     * 插入
     * @param obj
     * @return
     */
    int insert(SiteLetter obj);

    /**
     * 批量插入
     * @param list
     * @return
     */
    int batchInsert(List<SiteLetter> list);

}